"""
匿名函数介绍
    概述：
        没有名字的函数，就叫匿名函数
    格式：
        变量名 = lambda 形参列表：函数体(只能写一行代码，且该行代码的返回结果会被自动返回)
    细节：
        1. Python中的匿名函数 类似于 JAVA 中的Lambda表达式
        2. 匿名函数只适用于简单的业务需求，即：函数体只有一行代码
        3. 匿名函数的应用场景：
            当方法仅仅需被调用一次的时候
            匿名函数 作为 函数对象 当做参数进行传递的时候
"""


# 案例一： 定义函数，用于计算两个整数之和
# 1. 普通函数
def get_sum(a, b):
    return a + b


c = get_sum(1, 2)
print(c)

# 2. 匿名函数实现
get_sum2 = lambda a, b: a + b
d = get_sum2(3, 4)
print(d)


# 2. 定义函数，接受两个整数，分别计算两个整数的：和，差，积，商，最大值，最小值。
# 差
def get_sub(a, b):
    return a - b


# 积
def get_mul(a, b):
    return a * b


# 匿名函数
def my_func(a, b, func):
    return func(a, b)


print(my_func(3, 5, get_sum))
print(my_func(3, 5, get_sub))
print('=' * 30)

# 用匿名函数实现
print(my_func(3, 5, lambda a, b: a + b))
print(my_func(3, 5, lambda a, b: a - b))
print(my_func(3, 5, lambda a, b: a * b))
print(my_func(3, 5, lambda a, b: a / b))
# 最大值
print(my_func(3, 5, lambda a, b: a if a > b else b))
# 最小值
print(my_func(3, 5, lambda a, b: a if a < b else b))
